package com.yan_jiu_sheng.LeetCodeHot100.AC;

import java.util.Arrays;

/**
 * https://leetcode.cn/problems/sort-colors/?envType=study-plan-v2&envId=top-100-liked
 * 两种方法通过
 *
 * @author yulongtian
 * @create 2024-07-26 15:58
 */
public class Test88 {
    public static void main(String[] args) {
        int[] nums = {2, 0, 2, 1, 1, 0};
        new Test88().sortColors(nums);
        System.out.println(Arrays.toString(nums));
    }

    /*
    根据提示尝试
     */
    public void sortColors(int[] nums) {
        int[] counts = new int[3];
        for (int i = 0; i < nums.length; i++) {
            counts[nums[i]]++;
        }
        int index = 0;
        for (int i = 0; i < counts[0]; i++) {
            nums[index++] = 0;
        }
        for (int i = 0; i < counts[1]; i++) {
            nums[index++] = 1;
        }
        for (int i = 0; i < counts[2]; i++) {
            nums[index++] = 2;
        }
    }


//    /*
//    自我AC
//     */
//    public void sortColors(int[] nums) {
//        for (int i = 0; i < nums.length; i++) {
//            for (int j = i + 1; j < nums.length; j++) {
//                if (nums[i] > nums[j]) {
//                    mySwap(nums, i, j);
//                }
//            }
//        }
//    }
//
//    public void mySwap(int[] nums, int i, int j) {
//        int temp = nums[i];
//        nums[i] = nums[j];
//        nums[j] = temp;
//    }

}
